//
//  RBInteractiveApi.h
//  Pods
//
//  Created by baxiang on 2017/5/11.
//
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger,RBEmojiType){
    RBEmoji_Moe = 2, //呆萌
    RBEmoji_Angry = 3,//愤怒
    RBEmoji_Helpless =5,//无语
    RBEmoji_Wink = 6, //挤眼
    RBEmoji_Amazed = 7, //惊讶
    RBEmoji_happy = 8,//开心
    RBEmoji_Fear = 9,//恐惧
    RBEmoji_Cry =10,  //伤心
    RBEmoji_Sleep =12, //睡觉
    RBEmoji_Love = 13,   //喜爱
    RBEmoji_Query = 14, //疑问
    RBEmoji_Dizzy = 15, //眩晕
};

@interface RBInteractiveApi : NSObject
/**
 发送表情
 @param deviceID 设备ID
 @param emojiType 表情ID
 */
+ (void)sendEmoji:(NSString *_Nonnull)deviceID emojiType:(RBEmojiType) emojiType completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock;

/**
 发送文本内容
 
 @param deviceID 设备ID
 @param text 文字内容
 */
+ (void)sendTTS:(NSString *_Nonnull)deviceID content:(NSString *_Nonnull)text completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock;

/**
 *  获取 DIY 列表
 *  @param deviceId 设备 Id
 *  @param start 开始索引
 *  @param count 获取数量
 */
+ (void)getDiyListWith:(NSString *_Nonnull)deviceId startNum:(int)start count:(int)count completionBlock:(nullable void (^)(id response,NSError *_Nullable error)) completionBlock;


/**
 *  修改(增加) DIY 问答
 *  @param deviceId 设备 ID
 *  @param qid 问题 ID
 *  @param question 问题
 *  @param response 答案
 */
+ (void)updateDiyWithDeviceId:(NSString*_Nonnull)deviceId QuestionId:(NSNumber * _Nullable)qid question:(NSString *_Nonnull)question response:(NSString *_Nonnull)response completionBlock:(nullable void (^)(id response, NSError * _Nullable))completionBlock;

/**
 删除 DIY 问答
 
 @param deviceId 设备 ID
 @param ids 问题id数组
 @param completionBlock error -345： 已存在相同的问答
 */
+ (void)deleteDiyWithDeviceId:(NSString *_Nonnull)deviceId Ids:(NSArray *)ids completionBlock:(void (^)(BOOL, NSError * _Nullable))completionBlock;


/**
 获取tts推荐数据
 
 @param deviceId 设备 ID
 */
+(void )fetchTTSListWithDeviceId:(NSString *_Nonnull)deviceId completionBlock:(void (^)(id  _Nullable response, NSError * _Nullable))completionBlock;

/**
 获取tts习惯列表
 
 @param deviceId 设备 ID
 */
+ (void )fetchHabitListWithDeviceId:(NSString *_Nonnull)deviceId completionBlock:(void (^)(id  _Nullable response, NSError * _Nullable))completionBlock;

/**
 
 
 @param deviceId 设备 ID
 */

/**
 随机获取tts趣味列表 每次请求返回的数据都存在不一样 随机返回
 
 @param deviceId 设备 ID
 @param pageZize 每次请求返回的数量
 */
+ (void)fetchFunnyListWithDeviceId:(NSString *_Nonnull)deviceId pageSize:(NSInteger) pageZize completionBlock:(void (^)(id response, NSError * _Nullable))completionBlock ;

/**
 发送声音文件
 
 @param fileURL 文件url 路径
 @param deviceId 设备 ID
 @param progressBlock 上传进度
 @param completionBlock 上传结果
 */
+ (void)uploadFunnyVoiceFileURL:(NSURL *_Nonnull)fileURL deviceId:(NSString *)deviceId progressBlock:(void(^)(NSProgress *progress))progressBlock  completionBlock:(void (^)(id  _Nullable response, NSError * _Nullable))completionBlock;
@end
NS_ASSUME_NONNULL_END
